从浏览器中输入一个域名地址,我们会经历哪些过程,这篇文章不会去细化到每一个过程的具体实现,后面的文章会陆续告诉你。那么我们应该关注哪些东西呢?浏览器==》网络==》服务器 ==》浏览器

简单过程

1、浏览器解析url

http://        www.    polarisjack.top  /blog/webDetail   ?id=1
协议名称        服务器名  域名                  资源路径        参数

浏览器客户端解析好我们输入的地址以后,解析出域名,再根据域名解析出IP地址

2、浏览器根据解析得到的域名获取服务器的IP地址

将域名解析成服务器的IP地址这个步骤是由DNS服务器完成的,首先客户端根据你输入的域名去找浏览器dns缓存是否有对应的ip,如果没有会去寻找本地的hosts文件(windows系统dns缓存),检查文件中是否有域名和IP的对应关系。如果有,则根据这个IP地址建立连接。如果没有,再去DNS服务器寻找。
具体详情可参加另外一篇博客:浏览器的域名解析

3、建立TCP连接

找到目标IP地址以后,客户端主动尝试与服务器进行连接,三次握手。第一次是客户端主动连接服务器,此时服务器知道客户端需要建立连接了。第二次是服务器到客户端,此时客户端知道服务器收到连接请求了。第三次是客户端到服务器,此时服务器知道客户端收到了自己的回应。到这里,就认为客户端与服务器已经建立连接了。
具体详情可参考另外一篇博客:TCP的三次握手和四次挥手。

4、发送http请求

服务器根据客户端发送的请求,根据后台服务逻辑做出相应的响应
具体详情可参考另外一篇博客:http

5、得到响应结果

客户端根据服务响应得到后台服务响应的数据,因为此处为浏览器中输入域名的情况,假设后台返回的是一个普通的html页面,浏览器得到此html页面以后会进行解析。

6、浏览器解析HTML

渲染引擎解析html是从上到下解析,渲染引擎解析html的过程中,把标签内容转化为dom节点,映射成为DOM树。
具体详情可参加另外一篇文章:浏览器工作原理

7、请求HTML中需要加载的资源

渲染引擎在解析html的过程中,遇到外部资源(如:css、js),会请求外部资源

8、render渲染

渲染引擎把html映射成为DOM树,根据加载的css资源,构建为render树,再布局为render树,最后绘制render树,通过呈现引擎展示给用户。
渲染引擎解析html的过程中,把标签内容转化为dom节点,如果遇到css文件或者style标签,会把这些样式和dom节点构建成另外一棵render树,成型的几何结构。


雨泽的花儿
44 声望0 粉丝

just do it